﻿@model IEnumerable<TS2015.Models.TbTruongDH>
@using Kendo.Mvc.UI

@if (Model.Count() > 0)
{
    @( Html.Kendo().Grid(Model)
                .Name("griddata")
                .Pageable(page => page
                        .ButtonCount(7)
                        .Info(true)
                        .Refresh(true)
                            .Messages(mess => mess
                                     .Display("{0}-{1} của {2} bản ghi.")
                                            .Empty("Không có dữ liệu")
                                            .Refresh("Làm mới")
                                            .First("Trang đầu tiên")
                                            .Last("Trang cuối cùng")
                                            .Next("Trang tiếp")
                                            .Previous("Trang trước")
                                      )
                                     .Input(true)
                                            .Messages(mess =>
                                            {
                                                mess.Of("của {0}");
                                                mess.Page("Trang");
                                            })

                                )
                            .Columns(columns =>
                                {
                                    //columns.ClientTemplate("<input type='checkbox' #= CheckboxColumn? checked='checked': checked='' # class='chkbx' />");
                                    columns.Bound(p => p.MaTruongDH);
                                    columns.Bound(p => p.TenTruongDH);
                                    columns.Bound(p => p.DiaChi);
                                })
                                .Scrollable(scrollable => scrollable.Height("auto"))
                                .Reorderable(reorderable => reorderable.Columns(true))
                                .Resizable(resizable => resizable.Columns(true))
        // Sửa kiểu popup
                        .Editable(editable =>
                        {
                            //editable.Mode(GridEditMode.PopUp).TemplateName("CommuneEditor");
                            editable.ConfirmDelete("Bạn có muốn xóa? (Lưu ý: các thông tin về điểm, tài khoản... sẽ bị xóa theo!)");
                            editable.Window(window =>
                            {
                                //window.Width(450);

                                window.Title("Thêm/sửa dữ liệu");
                                window.Animation(false);
                            });

                            editable.DisplayDeleteConfirmation("Bạn có muốn xóa? (Lưu ý: các thông tin về điểm, tài khoản... sẽ bị xóa theo!)");
                        })
                        .Sortable()    // Cho phép sắp xếp dữ liệu
        // Cho phép lọc dữ liệu
                        .Filterable(filterable => filterable
                                .Messages(mess => mess
                                    .And("Và")
                                    .Clear("Xóa")
                                    .Filter("Lọc")
                                    .Info("Điều kiện lọc tìm kiếm")

                                    )
                                    .Extra(false)

                                .Operators(operators => operators
                                    .ForString(str => str.Clear()
                                        .StartsWith("Bắt đầu với")
                                        .IsEqualTo("Đúng bằng")
                                        .IsNotEqualTo("Không bao gồm")
                                        .Contains("Chứa ký tự")
                                    )
                                    .ForNumber(num => num
                                            .Clear()
                                            .IsGreaterThan("Lớn hơn")
                                            .IsEqualTo("Bằng")
                                            .IsNotEqualTo("Nhỏ hơn")
                        )))

                    // Cài đặt nguồn dữ liệu
                    .DataSource(dataSource => dataSource
                            .Ajax()   // Mọi thao tác thực hiện thông qua Ajax
                            .ServerOperation(false) // Ko cho gửi request bằng cách load lại trang mà thông qua Ajax

                            .PageSize(15)   // Số row hiển thị trên Grid
                            .Model(model =>
                                {
                                    model.Id(p => p.MaTruongDH);  // Chỉ ra khóa của Grid
                                    model.Field(p => p.MaTruongDH).Editable(false);
                                    //model.Field(p => p.MaKhoa).DefaultValue(1);
                                }
                                )
                            .Sort(item =>
                            {
                                // Mặc định khi load dữ liệu lên Grid sẽ sắp xếp giảm theo Id
                                item.Add(data => data.MaTruongDH).Descending();
                            })
                        // Cài đặt các sự kiện khi thay đổi dữ liệu
                            .Events(events =>
                            {
                                events.Error("onError");
                                //events.Change("onRequestStart");
                                //events.Sync("sync_handler");
                                //events.Push("Success");
                                //events.Change("Success");
                                events.RequestEnd("onRequestEnd");
                                //events.RequestStart("onRequestStart");
                            })
        // Gán Action khi thêm dữ liệu
        //.Create(update => update.Action( "Default", new { controller = "Common", action = "PhieuDangKy", Layout = "" }, aj))
        //.Create(update => update.Action("EditingPopup_CreateCandidateList", "CandidateManagement"))

                    )
            .Excel(excel => excel
            .FileName("Trường Đại học.xlsx")
            .Filterable(true)
            .AllPages(true)
            .ProxyURL(Url.Action("ExportUniversity", "Grid")))
            .ToolBar(toolbar =>
                {
                    toolbar.Excel().Text("Xuất Excel");
                })
        // Cài đặt thanh Menu bên trên Grid

                                                                                            .Events(events =>
                                                                                            {
                                                                                                //events.Change("onEdit");
                                                                                                //events.Cancel("onEdit");
                                                                                                events.Edit("onEdit");
                                                                                                //events.ColumnLock
                                                                                            })
        //.ClientDetailTemplateId("client-template")
    )

}
else
{
    <h4 class="no-data">Không có dữ liệu</h4>
}